Objective & The Thrift Store Tragedy
I fell head over heels back in love with physical shiny circular plastic. Streaming services keep deleting my favorite 90s movies on a Tuesday afternoon because some licensing agreement in Luxembourg expired, so I went full circle back to CDs and DVDs. But building a physical collection comes with a devastating mental hazard: The Thrift Store Amnesia Effect.
You are standing in a Salvation Army aisle smelling faintly of mothballs, holding a $1.25 copy of The Matrix or a classic Smashing Pumpkins album. You ask yourself: "Do I own this? Pretty sure I don't." You buy it, drive home triumphantly, open your cabinet, and realize you now own three identical copies. I built this vault so my wallet stops funding my accidental cloned-disc museum.
The "Keep It Sane" Tech Stack
| Layer / Component | Tool of Choice | Why It's There |
|---|---|---|
| Database Engine | SQLite 3 | Zero daemon baggage. Literally one file on disk that won't crash when my server sneezes. |
| Application Backend | PHP 8 (PDO) | Good old reliable PHP. Fast, no bloated node_modules eating 2GB of RAM. |
| Unpaid Intern (AI) | LLM JSON Prompt Pipeline | Takes my sloppy brain-dumps and dutifully types out release years, genres, and blurbs. |
| Art Dept. Scrapers | iTunes API & IMDb / OMDb | Grabs pristine album artwork and movie posters so my dashboard doesn't look like a 1998 spreadsheet. |
| Frontend Interface | Mobile-First HTML / Vanilla JS | Snappy live search built to be operated by one sweaty thumb in a flea market basement. |
Visuals & Evidence
Build Log & Garage Engineering
Why SQLite Won: No Bulldozers for Tulips
Setting up a full blown MySQL or PostgreSQL container with user grants, connection pools, and database daemons just to remember if I own Shrek 2 felt like bringing a bulldozer to plant a tulip. SQLite gave me a rock-solid, zero-maintenance database that lives entirely inside one neat little file. Backing it up means copying a single file to a thumb drive. Queries return so ridiculously fast it feels like reading straight out of CPU cache.
The AI Ghostwriter & The Cover Art Thief
When you bring home a milk crate containing 45 bargain discs, manually typing the artist, album title, release year, genre, and a witty description sounds about as fun as chewing on broken jewel cases. So I outsourced the boring part to AI:
- The Template Handoff: I handed the AI an empty JSON blueprint and a sloppy text list like: "Nirvana In Utero, Jurassic Park DVD, Foo Fighters Color and the Shape."
- The AI Grunt Work: The model behaves like an over-caffeinated record store clerk, returning clean structured JSON with the right release years, director/artist tags, and summaries.
- The Cover Art Magic: I paste that JSON into my custom importer page. The PHP backend immediately loops through, interrogates the iTunes Search API for ultra-crisp square album art, knocks on IMDb's door for official movie posters, downloads them locally, and inserts the whole batch into SQLite in about three seconds.
Suddenly, cataloging 50 items went from a whole weekend of data entry misery to a 30-second copy-paste party.
Designed for Sweaty-Thumb Crate Digging
The whole app had to survive the ultimate crucible: standing in a concrete-floored thrift store basement where cell reception goes to die. The search bar is glued to the top of the mobile screen. You hold a scratched CD case in your left hand, tap two letters with your right thumb, and bam—instant filter results with album art thumbnails. No heavy page reloads, no JavaScript spinning wheels of doom.
When The Cover Scraper Goes Rogue
Automating artwork retrieval gave me a few genuine laughs. Searching for self-titled albums (like Weezer) kept fetching the wrong color album art. And searching for classic 1982 movie posters gave me covers from terrible 2011 direct-to-video remakes. Feeding the AI-generated release year directly into the search query finally convinced the scraper to stop giving me The Fast and the Furious when I asked for a 1954 film noir.
Future Over-Engineering
- Phone camera barcode scanning, so I can scan discs at warp speed without even typing the titles to AI.
- Shelf coordinates, because finding a specific DVD in my chaotic media cabinet is like searching for a contact lens in a shag carpet.
- Automated nightly cloud backups, because if my SQLite file dies, a piece of my soul goes with it.